import request from './config'

/**
 * 获取用户可访问的数据集列表
 * @param {Object} params - 查询参数
 * @param {string} params.search - 搜索关键词
 * @param {string} params.category - 分类过滤
 * @param {string} params.tags - 标签过滤，多个标签用逗号分隔
 * @returns {Promise<Object>} - 返回数据集列表数据
 */
export function getMyDatasets(params = {}) {
  return request({
    url: '/dk/sessions/mydatasets',
    method: 'post',
    headers: {
      'Content-Type': 'application/x-www-form-urlencoded',
      Accept: 'application/json',
    },
    data: params,
  })
}

/**
 * 获取数据集数据
 * @param {string|number} datasetId - 数据集ID
 * @param {Object} params - 查询参数
 * @param {number} params.page - 页码，从1开始，默认值1
 * @param {number} params.page_size - 每页记录数，默认50，最大1000
 * @param {string} params.search - 搜索关键词
 * @returns {Promise<Object>} - 返回数据集数据
 */
export function getDatasetData(datasetId, params = {}) {
  return request({
    url: `/dk/sessions/dataset-data/${datasetId}`,
    method: 'post',
    headers: {
      'Content-Type': 'application/x-www-form-urlencoded',
      Accept: 'application/json',
    },
    data: params,
  })
}

/**
 * 上传新数据集文件
 * @param {FormData} formData - 包含文件和元数据的表单数据
 * @param {File} formData.file - 文件对象 (必填，仅支持.xlsx和.xls格式Excel文件)
 * @param {string} formData.datasetname - 数据集名称 (必填)
 * @param {string} formData.description - 数据集描述 (必填)
 * @returns {Promise<Object>} - 返回新创建的数据集信息
 */
export function uploadDatasetFile(formData) {
  return request({
    url: '/dk/sessions/upload_file',
    method: 'post',
    data: formData,
    headers: {
      'Content-Type': 'multipart/form-data',
    },
  })
}
